package com.zimmur.app.mocolink.dao;

import com.zimmur.app.mocolink.domain.model.UserCollection;
import com.zimmur.app.mocolink.domain.model.UserCollectionExample;
import com.zimmur.app.mocolink.domain.vo.GoodsCollectionInfo;
import com.zimmur.app.mocolink.domain.vo.GroupCollectionInfo;

import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface UserCollectionMapper {
    int countByExample(UserCollectionExample example);

    int deleteByExample(UserCollectionExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(UserCollection record);

    int insertSelective(UserCollection record);

    List<UserCollection> selectByExample(UserCollectionExample example);

    UserCollection selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") UserCollection record, @Param("example") UserCollectionExample example);

    int updateByExample(@Param("record") UserCollection record, @Param("example") UserCollectionExample example);

    int updateByPrimaryKeySelective(UserCollection record);

    int updateByPrimaryKey(UserCollection record);
    /**
     * 根据用户ID和关联ID查询收藏信息
     *@Description
     *@param userId
     *@param dateId
     *@param type
     *@return 
     *@author zcx
     *@Time 2017年10月14日 上午10:35:13
     */
    UserCollection selectByUserIdAndDataId(@Param("userId")Integer userId,@Param("dataId")Integer dateId,@Param("type")Integer type);
    /**
     * 分页查询用户组货收藏
     *@Description
     *@param userId
     *@param first
     *@param size
     *@return 
     *@author zcx
     *@Time 2017年10月14日 上午11:05:24
     */
    List<GroupCollectionInfo> selectGroupCollectionByUserId(@Param("userId")Integer userId,@Param("first")Integer first,
    		@Param("size")Integer size);
    /**
     * 分页查询用户商品收藏
     *@Description
     *@param userId
     *@param first
     *@param size
     *@return 
     *@author zcx
     *@Time 2017年10月14日 上午11:05:42
     */
    List<GoodsCollectionInfo> selectGoodsCollectionByUserId(@Param("userId")Integer userId,@Param("first")Integer first,
    		@Param("size")Integer size);
    /**
     * 按类型统计用户商品数据
     *@Description
     *@param userId
     *@param type
     *@return 
     *@author zcx
     *@Time 2017年10月14日 上午11:05:56
     */
    int countCollectionByUserId(@Param("userId")Integer userId,@Param("type")Integer type);
    
    

}